package com.ricchieri.service.interf;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.ricchieri.filter.ScheduleCharterFilter;
import com.ricchieri.model.ScheduleCharter;

public interface IScheduleCharterService {
	@Transactional(readOnly = true)
	public List<ScheduleCharter> getAllScheduleCharter();
	
	@Transactional(readOnly = true)
	public List<ScheduleCharter> getAllScheduleCharterByFilter(ScheduleCharterFilter charterFilter);
	
	@Transactional(readOnly = false)
	public void insertScheduleCharter(ScheduleCharter scheduleCharter);

	public List<ScheduleCharter> getAllScheduleCharterPaginatedByFilter(
			ScheduleCharterFilter charterFilter);
	
	public List<ScheduleCharter> getAllScheduleCharterPaginatedByFilter(
			ScheduleCharterFilter charterFilter, int startRecord);
	
	public int getAllScheduleCharterCountByFilter(ScheduleCharterFilter charterFilter);
	
	public void updateScheduleCharter(ScheduleCharter scheduleCharter);

	public void delete(ScheduleCharter scheduleCharter);

	public ScheduleCharter getScheduleCharterByFilter(
			ScheduleCharterFilter filter);
}
